package fifth.this关键字;

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public boolean compare(Person person) {
        Person p1 = this;// 表示当前调用的方法
        Person p2 = person;// 传递到方法中对象
        if (p1 == p2) {
            return true;
        }
        if (p2 == null) {
            return false;
        }
        // 分别判断每一个属性是否相等
        if (p1.name.equals(p2.name) && p1.age == p2.age) {
            return true;
        } else {
            return false;
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

public class 如何进行对象的比较 {
    public static void main(String[] args) {
        //声明两个对象 内容完全相等
        Person p  =new Person("odyssey",19);
        Person p2  =new Person("odyssey",19);
        if(p.compare(p2)){  //进行对象的比较
            System.out.println("两个对象完全相等");
        }
        else{
            System.out.println("两个对象不相等");
        }
    }
}
